var prefix = ctx + "md/manage"
$(function() {
	load();
});

function load() {
	$('#exampleTable2')
			.bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/allColumns/"+ $("#tableId").val(), // 服务器数据的加载地址
						// showRefresh : true,
						// showToggle : true,
						// showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : false, // 设置为true会在底部显示分页条
						// queryParamsType : "limit",
						// //设置为limit则会发送符合RESTFull格式的参数
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						//pageSize : 1000000, // 如果设置了分页，每页数据条数
						//pageNumber : 1, // 如果设置了分布，首页页码
						// search : true, // 是否显示搜索框
						//showColumns : true, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
						// "server"
						queryParams : function(params) {
							return {
								// 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						columns : [
								{
									checkbox : true
								},
								{
									title : '序号',
									formatter : function(value, row, index) {
										return index + 1;
									}
								},
								{
									field : 'columnName',
									title : '字段名'
								},
								{
									field : 'columnComment',
									title : '中文描述',
									formatter : function(value, row, index) {
										
										var e = '<input id="columnComment" name="columnComment" class="form-control" type="text" placeholder="请输入中文描述" value='+ (row.columnComment != null?row.columnComment:"") +'>';
										return e;
									}
								},
								{
									field : 'columnType',
									title : '类型',
								},
								{
									field : 'columnLength',
									title : '长度',
									visible: false
								},
								{
									field : 'columnIsNullable',
									title : '是否允许null',
									visible: false
								},
								{
									field : 'columnIsKey',
									title : '是否主键',
									visible: false
								},
								{
									field : 'orderNum',
									title : '排序号',
									visible: false
								},
								{
									title : '字段标记',
									field : 'columnTag',
									align : 'center',
									formatter : function(value, row, index) {
										
										var e = "<select data-placeholder=\"请选择字段标记\" multiple=\"multiple\" id=\"select-"
											+ index
											+ "\" class=\"chosen-select222 form-control chosen-select\">"
											+ "   <option value=\"\">--请选择--</option>"
											+ "   <option value=\"11\" "+ ((row.columnTag.indexOf("11") != -1)?"selected=selected":"") +">企业名称</option>"
											+ "   <option value=\"12\" "+ ((row.columnTag.indexOf("12") != -1)?"selected=selected":"") +">统一社会信用代码</option>"
											+ "   <option value=\"13\" "+ ((row.columnTag.indexOf("13") != -1)?"selected=selected":"") +">自然人姓名</option>"
											+ "   <option value=\"14\" "+ ((row.columnTag.indexOf("14") != -1)?"selected=selected":"") +">身份证号码</option>"
											+ "   <option value=\"15\" "+ ((row.columnTag.indexOf("15") != -1)?"selected=selected":"") +">入库时间</option>"
											+ "   <option value=\"16\" "+ ((row.columnTag.indexOf("16") != -1)?"selected=selected":"") +">涉密信息</option>"
											+ "   <option value=\"17\" "+ ((row.columnTag.indexOf("17") != -1)?"selected=selected":"") +">去重字段</option>"
											+ "   <option value=\"18\" "+ ((row.columnTag.indexOf("18") != -1)?"selected=selected":"") +">查询关键字</option>"
											+ "   <option value=\"23\" "+ ((row.columnTag.indexOf("23") != -1)?"selected=selected":"") +">自然人姓名1</option>"
											+ "   <option value=\"24\" "+ ((row.columnTag.indexOf("24") != -1)?"selected=selected":"") +">身份证号码1</option>"
											+ "</select>"
										return e;
									}
								}],
								onLoadSuccess : function() {
									$(".chosen-select222").chosen({
										width : '90%',
										allow_single_deselect : true,
										search_contains : true
									});
								}
					});
}
function reLoad() {
	$('#exampleTable2').bootstrapTable('refresh');
}
function add() {
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/add' // iframe的url
	});
}

function addByHand() {
	let index = layer.open({
		type : 2,
		title : '手动建表',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '960px', '624px' ],
		content : prefix + '/addByHand' // iframe的url
	});
}

function addByExchange() {
	let index = layer.open({
		type : 2,
		title : '交换建表',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '960px', '624px' ],
		content : prefix + '/addByExchange' // iframe的url
	});
	layer.full(index);
}

function edit(id) {
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edit/' + id // iframe的url
	});
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix + "/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	})
}

function editColumns(tableId) {
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/listColumns/'+ tableId // iframe的url
	});
}

function batchColumnsAdd() {
	

	for (var i = 0; i < $(".chosen-select222").size(); i++) {
		var columnComment = $($("input[name=columnComment]")[i]).val();
		let selectArray = $("#select-" + i).val();
		var columnTag = "";
		for (x in selectArray) {
			columnTag += selectArray[x] + ",";
		}
		

		$('#exampleTable2').data("bootstrap.table").data[i].columnTag = columnTag;
		$('#exampleTable2').data("bootstrap.table").data[i].columnComment = columnComment;
	}

	var rows = $('#exampleTable2').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	
	//if($("#changeTypeId").val() == '2'){
		var flag1 = false;
		var flag2 = true;
		for (i in rows){
			if(rows[i].columnTag.indexOf("15") != -1){
				flag1 = true;
			}
			if(rows[i].columnComment == ""){
				flag2 = false;
			}
		}
		
		if(flag1 == false){
			layer.msg("必须指定入库时间的字段标记");
			return;
		}
		if(flag2 == false){
			layer.msg("选中字段必须填写中文描述");
			return;
		}
	//}
	if (rows.length == 0) {
		layer.msg("请选择要添加的字段");
		return;
	}
	layer.confirm("确认要添加选中的'" + rows.length + "'个字段吗?", {
		btn : [ '确定', '取消' ]
	// 按钮
	}, function() {
		var json = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
				delete row["0"];
				json.push(row);
		});
		console.log(JSON.stringify(json));
		$.ajax({
			type: "POST",
            contentType : 'application/json;charset=utf-8', //设置请求头信息
            dataType:"json",
			data : JSON.stringify(json), 
			url : prefix + '/batchColumnsAdd/'+ $("#tableId").val(),
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					parent.reLoad();
					var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
					parent.layer.close(index);
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {
	});
}